<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>旭日图：series type=sunburst</title>
  <script src="./echarts.js"></script>
  <script src="./data/SunBurstData.js"></script>
  <style lang="css">
    #chart1,
    #chart2 {
      width: 100%;
      height: 668px;
      /* border: 1px solid red; */
      float: left;
    }
  </style>
</head>

<body>
  <div id="chart1"></div>

  <script>
    const myChart1 = echarts.init(document.getElementById('chart1'));

    myChart1.setOption({
      title: {
        text: 'WORLD COFFEE RESEARCH SENSORY LEXICON',
        subtext: '666',
        textStyle: {
          fontSize: 20,
        },
        sublink: 'https://worldcoffeeresearch.org/work/sensory-lexicon/'
      },
      tooltip: {},
      series: {
        type: 'sunburst',
        data: SunBurstData,
        center: ['50%', '50%'],
        radius: 300,
        radius: '80%', // 百分比取容器
        radius: ['10%', '80%'], // 第一个值内半径、第二个值外半径
        label: {
          // rotate: -40, // 这里直接是角度值，不是弧度
          rotate: 'tangential',
          align: 'center',
          minAngle: 0, // 当某个扇形块的角度小于该值（角度制）时，扇形块对应的文字不显示。该值用以隐藏过小扇形块中的文字
        },
        itemStyle: {
          color: 'green', // 优先级不够，不起作用
          // borderWidth: 2,
          // borderColor: '#000',
        },
        highlightPolicy: 'descendant', // descendant：高两当前块及后代，需配合emphasis、highlight、downplay(该属性不一定非要设置)，ancestor：高亮当前块和祖先块
        emphasis: { // 当前块
          itemStyle: {
            shadowColor: '#000',
            shadowBlur: 15,
          }
        },
        highlight: { // 相关块
          itemStyle: {
            shadowColor: '#333',
            shadowBlur: 15,
          }
        },
        downplay: { // 无关块
          itemStyle: {
            opacity: 0.3
          }
        },
        nodeClick: 'rootToNode',
        sort: 'asc',
        levels: [
          { // 下钻点的空白配置
            itemStyle: {
              color: 'pink',
            }
          },
          { // 从第二个对象开始是最内层的配置
            itemStyle: {
              borderWidth: 5,
            },
            label: {
              color: 'blue',
            }
          },
          { // 第二层
            label: {
              color: '#000',
              fontWeight: 'bold',
            }
          },
          { // 第三层
            r0: '70%', // 这两个官网没有，但是例子中有
            r: '72%',
            label: {
              position: 'outside',
              padding: 3,
            },
            itemStyle: {
              borderWidth: 3
            },
          },
        ]
      },
    })
  </script>
</body>

</html>